package cn.yunbamboos.rest.service;

import jakarta.servlet.http.HttpServletRequest;

/**
 * 请求的session
 */
public interface ISession {

    /**
     * 设置当前请求自定义属性
     *
     * @param key   当前请求自定义属性key
     * @param value 当前请求自定义属性value
     */
    void set(String key, String value);

    /**
     * 获取当前请求自定义属性
     *
     * @param key 当前请求自定义属性key
     * @return value 当前请求自定义属性value
     */
    String get(String key);

    /**
     * 获取当前请求自定义属性 必须存在的
     *
     * @param key 当前请求自定义属性key
     * @return value 当前请求自定义属性value
     */
    String getRequired(String key);

    void setRequest(HttpServletRequest request);

    HttpServletRequest getRequest();

    IRestService getService();

    void setService(IRestService service);

}
